package com.cloud.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author tangyuan2meicloud.com
 * @DATE 2021/6/29 10:58
 * @Desc
 * @Remarks
 */

/**
 * 1.使用配置中心来修改类中的属性，需要项目引入与actuator，并且暴露一些拓展点集成，
 *                  management.endpoints.web.exposure.include=refresh
 *  具体属性需要动态拓展的东西，加上@RefreshScope，
 *
 *  2.在配置中心修改属性的值后，使用一个特定的URL向服务发送一个请求，
 *  容器会执行下面操作：
 *  发起请求到配置中心，获取最新配置
 *  刷新容器中标注了@RefreshScope的实例
 */
@RefreshScope
@RestController
@RequestMapping("/config")
public class ConfigController {
    @Value("${hello}")
    String hello;

    @RequestMapping("/test")
    public String getHello() {
        return hello;
    }
}
